@echo off
chcp 65001 >nul
echo ============================================
echo 🔍 检查 Release 版本 API 问题
echo ============================================
echo.

echo [步骤 1/5] 检查是否使用了模型的 toJson() 方法...
echo.
findstr /S /N /I "\.toJson()" lib\common\api\*.dart | findstr /V "json.encode"
if errorlevel 1 (
  echo ✅ 未发现使用模型 toJson^(^) 的情况
) else (
  echo ⚠️ 发现使用模型 toJson^(^)，可能有问题！
)
echo.

echo [步骤 2/5] 检查请求模型类...
echo.
dir /B /S lib\common\models\*request*.dart lib\common\models\*_req.dart 2>nul
if errorlevel 1 (
  echo ✅ 未找到请求模型类文件
) else (
  echo 📝 找到以下请求模型文件：
)
echo.

echo [步骤 3/5] 检查是否有 json_serializable 配置...
echo.
findstr /C:"json_serializable" pubspec.yaml >nul 2>&1
if errorlevel 1 (
  echo ℹ️ 未使用 json_serializable
) else (
  echo ✅ 已配置 json_serializable
  findstr /C:"json_serializable" pubspec.yaml
)
echo.

echo [步骤 4/5] 检查关键 API 文件...
echo.
if exist lib\common\api\friend_api.dart (
  echo ✅ friend_api.dart 存在
  findstr /N /C:"sender_id" /C:"receiver_id" lib\common\api\friend_api.dart | findstr /N "."
) else (
  echo ❌ friend_api.dart 不存在！
)
echo.

if exist lib\common\api\activity_api.dart (
  echo ✅ activity_api.dart 存在
  findstr /N /C:"publisherId" /C:"activityId" lib\common\api\activity_api.dart | findstr /N "." | more
) else (
  echo ❌ activity_api.dart 不存在！
)
echo.

echo [步骤 5/5] 建议的修复措施...
echo.
echo ✅ 推荐方案：直接使用 Map 构建请求
echo    示例：
echo    final requestData = {
echo      'sender_id': senderId,
echo      'receiver_id': receiverId,
echo      'timestamp': DateTime.now().millisecondsSinceEpoch ~/ 1000,
echo    };
echo.
echo ⚠️ 如果必须使用模型类：
echo    1. 添加 json_serializable 依赖
echo    2. 使用 @JsonSerializable() 注解
echo    3. 运行 flutter pub run build_runner build
echo    4. 配置 ProGuard 规则
echo.

echo ============================================
echo 📋 详细分析报告：Release版本ID缺失问题完整分析报告.md
echo ============================================
pause

